package com.group01.community.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.group01.community.entity.SysDictData;
import com.group01.community.entity.SysRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.group01.community.entity.vo.SysRoleVo;
import org.apache.ibatis.annotations.Options;
import org.springframework.stereotype.Repository;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 角色信息表 Mapper 接口
 * </p>
 *
 * @author guoyuan
 * @since 2025-05-01
 */
@Repository
public interface SysRoleMapper extends BaseMapper<SysRole> {


   /**
    * @param dictId 字典主键 id 角色需要的 是 3
    * @return
    */
   List<SysDictData> getAllByStatus(Long dictId);

//   /**
//    * 角色分页查询+模糊查询（角色名称+权限字符+状态+创建时间）
//    * @param page
//    * @param roleName 角色名称
//    * @param roleKey  权限字符
//    * @param status  状态
//    * @param startTime 创建开始时间
//    * @param endTime 创建结束时间
//    * @return
//    */
//   IPage<SysRole> getRoleList(IPage<SysRole> page, String roleName, String roleKey, String status,String startTime,String endTime);

   /**
    * 补充 添加一个 string username 参数
    *
    * 角色分页查询+模糊查询（角色名称+权限字符+状态+创建时间）
    * @param page
    * @param roleName 角色名称
    * @param roleKey  权限字符
    * @param status  状态
    * @param startTime 创建开始时间
    * @param endTime 创建结束时间
    * @return
    */
   IPage<SysRole> getRoleList(IPage<SysRole> page, String roleName, String roleKey, String status,String startTime,String endTime,String userName);
   IPage<SysRole> getBaseRoleList(IPage<SysRole> page, String roleName, String roleKey, String status,String startTime,String endTime,String userName);

   /**
    * 根据id获取角色的全部权限
    * @return
    */

   List<SysRoleVo> getRolesAllMenu(Long roleId);
}
